package com.newtouch.bxzs.database.model.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 *
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2021/2/23 10:02</td>
 * <td>wangzhen</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author wangzhen
 * @version 1.0.0
 * @since 1.0.0
 */
@Data
@ApiModel("成员信息BO类")
public class MemberInfoBO implements Serializable {

    private static final long serialVersionUID = 2324228585147407812L;
    /**
     * 用户ID
     */
    @ApiModelProperty(value = "主键")
    private String userId;

    /**
     * 用户工号
     */
    @ApiModelProperty(value = "用户工号")
    private String userJobNumber;

    /**
     * 用户姓名
     */
    @ApiModelProperty(value = "用户姓名")
    private String userName;

    /**
     * 用户性别
     */
    @ApiModelProperty(value = "用户性别")
    private String userSex;

    /**
     * 用户手机号
     */
    @ApiModelProperty(value = "用户手机号")
    private String userPhone;

    /**
     * 用户电话
     */
    @ApiModelProperty(value = "用户电话")
    private String userTelephone;

    /**
     * 用户证件类型
     */
    @ApiModelProperty(value = "用户证件类型")
    private String userCertificateType;

    /**
     * 用户证件号码
     */
    @ApiModelProperty(value = "主键")
    private String userCertificateNumber;

    /**
     * 用户入职时间
     */
    @ApiModelProperty(value = "用户入职时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date userEntryTime;

    /**
     * 用户在职状态
     */
    @ApiModelProperty(value = "用户在职状态")
    private String userWorkingStatus;

    /**
     * 用户地址
     */
    @ApiModelProperty(value = "用户地址")
    private String userAddress;

    /**
     * 用户领导工号
     */
    @ApiModelProperty(value = "用户领导工号")
    private String userLeaderJobNumber;

    /**
     * 用户部门名称
     */
    @ApiModelProperty(value = "用户部门名称")
    private String userDepartmentName;

    /**
     * 是否启用
     */
    @ApiModelProperty(value = "是否启用")
    private Boolean enableFlag;

    /**
     * 用户登录账号
     */
    @ApiModelProperty(value = "用户登录账号")
    private String userLoginAccountNumber;

    /**
     * 用户登录密码
     */
    @ApiModelProperty(value = "用户登录密码")
    private String userLoginPassword;

    /**
     * 用户简介
     */
    @ApiModelProperty(value = "用户简介")
    private String userIntroduction;

    /**
     * 用户邮箱
     */
    @ApiModelProperty(value = "用户邮箱")
    private String userEmail;

    /**
     * 省级地区名称
     */
    @ApiModelProperty(value = "省级地区名称")
    private String provinceLevelRegionName;

    /**
     * 市级地址行省级地区编码政区划编码
     */
    @ApiModelProperty(value = "市级地址行省级地区编码政区划编码")
    private String provinceLevelRegionCode;

    /**
     * 市级地区名称
     */
    @ApiModelProperty(value = "市级地区名称")
    private String cityLevelRegionName;

    /**
     * 市级地区编码
     */
    @ApiModelProperty(value = "市级地区编码")
    private String cityLevelRegionCode;

    /**
     * 区县级地区名称
     */
    @ApiModelProperty(value = "区县级地区名称")
    private String countyLevelRegionName;

    /**
     * 区县级地区编码
     */
    @ApiModelProperty(value = "区县级地区编码")
    private String countyLevelRegionCode;

    /**
     * 用户详细地址
     */
    @ApiModelProperty(value = "用户详细地址")
    private String userDetailAddress;

    /**
     * 是否显示简介
     */
    @ApiModelProperty(value = "是否显示简介")
    private Boolean displayIntroductionFlag;

    /**
     * 是否显示邮箱
     */
    @ApiModelProperty(value = "是否显示邮箱")
    private Boolean displayEmailFlag;

    /**
     * 是否显示地址
     */
    @ApiModelProperty(value = "是否显示地址")
    private Boolean displayAddressFlag;

    /**
     * 是否显示工号
     */
    @ApiModelProperty(value = "是否显示工号")
    private Boolean displayJobNumberFlag;

    /**
     * 是否显示手机号
     */
    @ApiModelProperty(value = "是否显示手机号")
    private Boolean displayPhoneFlag;

    /**
     * 是否显示岗位
     */
    @ApiModelProperty(value = "是否显示岗位")
    private Boolean displayPositionFlag;

    /**
     * 是否显示微信号码
     */
    @ApiModelProperty(value = "是否显示微信号码")
    private Boolean displayWechatNumberFlag;

    /**
     * 是否删除
     */
    @ApiModelProperty(value = "是否删除")
    private Boolean deleteFlag;

    /**
     * 用户生日
     */
    @ApiModelProperty(value = "用户生日")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date userBirthday;

    /**
     * 用户微信号码
     */
    @ApiModelProperty(value = "用户微信号码")
    private String userWechatNumber;

    /**
     * 用户机构编码
     */
    @ApiModelProperty(value = "用户机构编码")
    private String userOrganizationCode;

    /**
     * 用户机构名称
     */
    @ApiModelProperty(value = "用户机构名称")
    private String userOrganizationName;

    /**
     * 是否平台管理用户
     */
    @ApiModelProperty(value = "是否平台管理用户")
    private Boolean platformManagementUserFlag;

    /**
     * 是否启用平台管理用户
     */
    @ApiModelProperty(value = "是否启用平台管理用户")
    private Boolean enablePlatformManagementUserFlag;

    /**
     * 创建用户ID
     */
    @ApiModelProperty(value = "创建用户ID")
    private String createUserId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 修改用户ID
     */
    @ApiModelProperty(value = "修改用户ID")
    private String updateUserId;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String memo;
}
